let t = require;
let  e = module
let  o =  e.exports;
 o.default =  e.exports;

                'use strict';
                console.log("start");
                var _n175,
                    i =
                    (this && this.__extends) ||
                    ((_n175 = function n(t, e) {
                            return (_n175 =
                                Object.setPrototypeOf ||
                                ({
                                        __proto__: []
                                    }
                                    instanceof Array &&
                                    function(t, e) {
                                        t.__proto__ = e;
                                    }) ||
                                function(t, e) {
                                    for (var o in e) {
                                        Object.prototype.hasOwnProperty.call(e, o) && (t[o] = e[o]);
                                    }
                                })(t, e);
                        }),
                        function(t, e) {
                            function o() {
                                this.constructor = t;
                            }
                            _n175(t, e),
                                (t.prototype =
                                    null === e ?
                                    Object.create(e) :
                                    ((o.prototype = e.prototype), new o()));
                        });
                Object.defineProperty(o, '__esModule', {
                        value: !0
                    }),
                    (o.Timer = void 0);
                var r = t('AbsObject'),
                    a = t('TimerItem'),
                    s = (function(t) {
                        function e() {
                            var e = (null !== t && t.apply(this, arguments)) || this;
                            return (e._adds = []), (e._removes = []), (e._timers = []), e;
                        }
                        return (
                            i(e, t),
                            (e.prototype.add = function(t, e, o, n) {
                                if (
                                    (void 0 === o && (o = 0),
                                        void 0 === n && (n = -1),
                                        !this.isDestroy && e && t)
                                ) {
                                    var i = new a.TimerItem();
                                    i.init(t, e, o, n), this._adds.push(i);
                                }
                            }),
                            (e.prototype.remove = function(t, e) {
                                if (!this.isDestroy && e && t)
                                    for (var o = 0; o < this._timers.length; o++) {
                                        var n = this._timers[o];
                                        n.target == e && n.callback == t && this._removes.push(n);
                                    }
                            }),
                            (e.prototype.delayCall = function(t, e, o) {
                                void 0 === o && (o = 0), this.isDestroy || this.add(t, e, o, 1);
                            }),
                            (e.prototype.removeTarget = function(t) {
                                if (t)
                                    for (var e = 0; e < this._timers.length; e++) {
                                        var o = this._timers[e];
                                        o.target == t && this._removes.push(o);
                                    }
                            }),
                            (e.prototype.update = function(t) {
                                if (!this.isDestroy) {
                                    var e;
                                    this._remove(), this._add();
                                    for (var o = 0; o < this._timers.length; o++) {
                                        (e = this._timers[o]).update(t),
                                            0 == e.repeat && this._removes.push(e);
                                    }
                                }
                            }),
                            (e.prototype._add = function() {
                                if (this._adds.length > 0) {
                                    for (var t = 0; t < this._adds.length; t++) {
                                        var e = this._adds[t]; -
                                        1 == this._find(e) && this._timers.push(e);
                                    }
                                    this._adds = [];
                                }
                            }),
                            (e.prototype._remove = function() {
                                if (this._removes.length > 0) {
                                    for (var t = 0; t < this._removes.length; t++) {
                                        var e = this._removes[t],
                                            o = this._find(e);
                                        o > -1 && this._timers.splice(o, 1), e.destroy();
                                    }
                                    this._removes = [];
                                }
                            }),
                            (e.prototype._find = function(t) {
                                if (t)
                                    for (var e = 0; e < this._timers.length; e++) {
                                        var o = this._timers[e];
                                        if (t.objId == o.objId) return e;
                                    }
                                return -1;
                            }),
                            (e.prototype.onDestroy = function() {
                                t.prototype.onDestroy.call(this);
                                for (var e = 0; e < this._adds.length; e++) {
                                    this._adds[e].destroy();
                                }
                                for (this._adds = null, e = 0; e < this._removes.length; e++) {
                                    this._removes[e].destroy();
                                }
                                for (
                                    this._removes = null, e = 0; e < this._timers.length; e++
                                ) {
                                    this._timers[e].destroy();
                                }
                                this._timers = null;
                            }),
                            e
                        );
                    })(r.AbsObject);
                (o.Timer = s), console.log("end");
            module.exports =  e.exports;